/*  #ifndef rn h5  */
page {
    height: 100vh;
  }
  
  /*  #endif  */
  
  /*  #ifdef h5  */
  .taro_page {
    height: 100vh;
  }
  
  /*  #endif  */
  
  /*  #ifdef h5  */
  taro-input-core {
    position: relative;
  
    input {
      position: absolute;
      transform: translateY(-50%);
      top: 50%;
    }
  }
  
  /*  #endif  */
  
  /*  #ifdef weapp  */
  .button-clean {
    position: relative;
    display: flex;
    flex-direction: column;
    margin-left: initial;
    margin-right: initial;
    padding-left: initial;
    padding-right: initial;
    line-height: initial;
    font-size: initial;
    background-color: initial;
    border: initial;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
    border-radius: 0;
    -webkit-tap-highlight-color: transparent;
    color: transparent;
  
    &::after {
      border: none;
    }
  }
  
  /*  #endif  */
  
  .bg-img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
  
  /* overflow */
  .overflow-hidden {
    overflow: hidden;
  }
  
  /* 定位 */
  .absolute {
    position: absolute;
  }
  
  .inset-0 {
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
  }
  
  .top-0 {
    top: 0;
  }
  
  .right-0 {
    right: 0;
  }
  
  .bottom-0 {
    bottom: 0;
  }
  
  .left-0 {
    left: 0;
  }
  
  /* z-index */
  
  .z-0 {
    z-index: 0;
  }
  
  .z-1 {
    z-index: 1;
  }
  
  /* flex */
  .flex-row {
    flex-direction: row;
  }
  
  .flex-row-reverse {
    flex-direction: row-reverse;
  }
  
  .flex-col-reverse {
    flex-direction: column-reverse;
  }
  
  .flex-wrap {
    flex-wrap: wrap;
  }
  
  .flex-wrap-reverse {
    flex-wrap: wrap-reverse;
  }
  
  .flex-grow {
    flex: 1;
  }
  
  .flex-shrink {
    flex-shrink: 0;
  }
  
  .justify-end {
    justify-content: flex-end;
  }
  
  .justify-center {
    justify-content: center;
  }
  
  .justify-between {
    justify-content: space-between;
  }
  
  .justify-around {
    justify-content: space-around;
  }
  
  .justify-evenly {
    justify-content: space-evenly;
  }
  
  .content-center {
    align-content: center;
  }
  
  .content-start {
    align-content: flex-start;
  }
  
  .content-end {
    align-content: flex-end;
  }
  
  .content-between {
    align-content: space-between;
  }
  
  .content-around {
    align-content: space-around;
  }
  
  .items-start {
    align-items: flex-start;
  }
  
  .items-end {
    align-items: flex-end;
  }
  
  .items-center {
    align-items: center;
  }
  
  .items-baseline {
    align-items: baseline;
  }
  
  .self-start {
    align-self: flex-start;
  }
  
  .self-end {
    align-self: flex-end;
  }
  
  .self-center {
    align-self: center;
  }
  
  .self-stretch {
    align-self: stretch;
  }
  
  .self-baseline {
    align-self: baseline;
  }
  
  /* size */
  .w-full {
    width: 100%;
  }
  
  .h-full {
    height: 100%;
  }
  
  .w-0 {
    width: 0;
  }
  
  .h-0 {
    height: 0;
  }
  
  /* 文本 */
  .text-24 {
    font-size: 24px;
  }
  
  .text-26 {
    font-size: 26px;
  }
  
  .text-28 {
    font-size: 28px;
  }
  
  .text-30 {
    font-size: 30px;
  }
  
  .text-32 {
    font-size: 32px;
  }
  
  .text-36 {
    font-size: 32px;
  }
  
  .text-48 {
    font-size: 48px;
  }
  
  /* 斜体 */
  .italic {
    font-style: italic;
  }
  
  /* 加粗 */
  .bold {
    font-weight: bold;
  }
  
  /* 文本对齐 */
  .text-left {
    text-align: left;
  }
  
  .text-center {
    text-align: center;
  }
  
  .text-right {
    text-align: right;
  }
  
  .text-justify {
    text-align: justify;
  }
  
  /* 文本颜色 */
  .text-transparent {
    color: transparent;
  }
  
  .text-black {
    color: #000;
  }
  
  .text-white {
    color: #fff;
  }
  
  /* 文本装饰 */
  .underline {
    text-decoration: underline;
  }
  
  .line-through {
    text-decoration: line-through;
  }
  
  /* 文本转换 */
  .uppercase {
    text-transform: uppercase;
  }
  
  .lowercase {
    text-transform: lowercase;
  }
  
  .capitalize {
    text-transform: capitalize;
  }
  
  /* 边框颜色 */
  .border-black {
    border-color: #000;
  }
  
  .border-white {
    border-color: #fff;
  }
  
  /* 边框样式 */
  .border-dotted {
    border-style: dotted;
  }
  
  .border-dashed {
    border-style: dashed;
  }
  
  // 内边距
  .p-1 {
    padding: 8px;
  }
  
  .p-2 {
    padding: 16px;
  }
  
  .p-3 {
    padding: 24px;
  }
  
  .pv-1 {
    padding-top: 8px;
    padding-bottom: 8px;
  }
  
  .pv-2 {
    padding-top: 16px;
    padding-bottom: 16px;
  }
  
  .pv-3 {
    padding-top: 24px;
    padding-bottom: 24px;
  }
  
  .ph-1 {
    padding-left: 8px;
    padding-right: 8px;
  }
  
  .ph-2 {
    padding-left: 16px;
    padding-right: 16px;
  }
  
  .ph-3 {
    padding-left: 24px;
    padding-right: 24px;
  }
  
  // 外边距
  .m-1 {
    margin: 8px;
  }
  
  .m-2 {
    margin: 16px;
  }
  
  .m-3 {
    margin: 24px;
  }
  
  .mv-1 {
    margin-top: 8px;
    margin-bottom: 8px;
  }
  
  .mv-2 {
    margin-top: 16px;
    margin-bottom: 16px;
  }
  
  .mv-3 {
    margin-top: 24px;
    margin-bottom: 24px;
  }
  
  .mh-1 {
    margin-left: 8px;
    margin-right: 8px;
  }
  
  .mh-2 {
    margin-left: 16px;
    margin-right: 16px;
  }
  
  .mh-3 {
    margin-left: 24px;
    margin-right: 24px;
  }
  
  // 圆角
  .r-1 {
    border-radius: 8px;
  }
  
  .r-2 {
    border-radius: 16px;
  }
  
  .r-3 {
    border-radius: 24px;
  }
  
  .r-max {
    border-radius: 750px;
  }
  
  .rt-1 {
    border-radius: 8px 8px 0 0;
  }
  
  .rt-2 {
    border-radius: 16px 16px 0 0;
  }
  
  .rt-3 {
    border-radius: 24px 24px 0 0;
  }
  
  .rb-1 {
    border-radius: 0 0 8px 8px;
  }
  
  .rb-2 {
    border-radius: 0 0 16px 16px;
  }
  
  .rb-3 {
    border-radius: 0 0 24px 24px;
  }
  
  // 间距
  .gap-1 {
    gap: 8px;
  }
  .gap-2 {
    gap: 16px;
  }
  .gap-3 {
    gap: 24px;
  }
  .gap-4 {
    gap: 32px;
  }
  
  // 背景
  .bg-white {
    background-color: white;
  }
  